// --- Copyright (c) 2006-2008 Stefan Kyntchev ---
// This software is written and copyrighted by Stefan Kyntchev 
// and BeyondPod Team members. All rights are reserved.
// Author contact: support@beyondpod.mobi
// ------------------------------------------------------------------------
// This file is part of BeyondPod RSS Feed Reader and Podcast manager
// (www.codeplex.com/BeyondPod) 
// BeyondPod is free software: you can redistribute it and/or modify 
// it under the terms of the GNU General Public License as published by 
// the Free Software Foundation, either version 3 of the License, or 
// (at your option) any later version. 
//  
// BeyondPod is distributed in the hope that it will be useful, 
// but WITHOUT ANY WARRANTY; without even the implied warranty of 
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
// GNU General Public License for more details. 
//  
// You should have received a copy of the GNU General Public License
// along with BeyondPod. If not, see <http://www.gnu.org/licenses/>
// ------------------------------------------------------------------------
// COPYRIGHT NOTICE: This copyright notice may NOT be removed, obscured or modified 
// without written consent from the author.
// --- End copyright notice --- 


using System;
using System.IO;
using System.Windows.Forms;
using OpenNETCF.Windows.Forms;
using svs.Mobile.BeyondMedia.FeedCore;
using svs.Mobile.BeyondMedia.FeedCore.Helpers;
using svs.Mobile.BeyondMedia.Properties;
using svs.Mobile.BeyondMedia.UiCore;

namespace svs.Mobile.BeyondMedia
{
	public partial class Welcome : Form
	{
		public Welcome()
		{
			InitializeComponent();
		}

		private void Done_Click(object sender, EventArgs e)
		{
			if (BrowserCtrl.Visible)
			{
				BrowserCtrl.Visible = false;
				RootFolderPnl.Visible = true;
				mainMenu1.MenuItems.Add(ChangeLocation);
				return;
			}
			else
			{
				string dir = PodcastDownloadPath.Text.Trim();
				if (!string.IsNullOrEmpty(dir))
				{
					if (!Directory.Exists(dir))
					{
						if (
							MessageBoxEx.Show(Resources.InvalidFeedsFolderMsg, Resources.InvalidFeedsFolderTitle,
							                MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) !=
							DialogResult.Yes)
							return;
					}
				}
				Configuration.EnclosureDownloadPath = dir;
				Close();
			}
		}

		private void OnLoad(object sender, EventArgs e)
		{
			try
			{
				BrowserCtrl.Url = Configuration.WelcomeFilePath;
			}
			catch
			{
				
			}
			BrowserCtrl.Visible = true;
			RootFolderPnl.Visible = false;
			PodcastDownloadPath.Text = Configuration.EnclosureDownloadPath;

			StorageData.Text = "Available Locations:\n";
			foreach (FlashStorageLocation location in FlashStorageLocation.GetAvailableStorageLocations())
			{
				StorageData.Text += string.Format("    {0}: {1} free\n", location.FriendlyLocationName, location.AvailableSpaceAsString);
			}

		}

		private void OnChangeClick(object sender, EventArgs e)
		{
			FolderBrowserDialog dlg = new FolderBrowserDialog();
			dlg.ShowNewFolderButton = true;
			if (dlg.ShowDialog() == DialogResult.OK)
			{
					PodcastDownloadPath.Text = dlg.SelectedPath;
			}
		}
	}
}